package com.yc.sole.system.response;

import com.yc.sole.common.enums.CommonState;
import com.yc.sole.common.enums.MenuType;
import com.yc.sole.framework.utils.node.TreeNode;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * Resp对象
 *
 * @author yizuomin
 * @date 2023-03-26
 **/
@Data
public class MenuResp implements TreeNode<MenuResp>, Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 菜单id
     */
    private Long id;
    /**
     * 菜单/按钮名称
     */
    private String menuName;
    /**
     * 父级id
     */
    private Long parentId;
    /**
     * 菜单类型
     */
    private MenuType menuType;
    /**
     * 路径/权限
     */
    private String path;
    /**
     * 图标
     */
    private String icon;
    /**
     * 状态
     */
    private CommonState state;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 下级节点
     */
    private List<MenuResp> children;

    @Override
    public String getPid() {
        return parentId == null ? null : String.valueOf(parentId);
    }

    @Override
    public String getNodeId() {
        return id == null ? null : String.valueOf(id);
    }
}
